<!DOCTYPE html>
<html>

<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width,initial-scale=1.0">
    <title>myproject</title>
    <style>
        textarea {
            width: 200px;
            height: 50px;
            border: 1px solid pink;
            outline: none;
            /* 点击的时候没有被选中的框 */
            resize: none;
            /* 不可以改动框的大小 */

        }

        ul {
            margin-top: 50px;
        }

        li {
            width: 200px;
            padding: 5px;
            /* 框框的宽度 */
            background-color: #ccc;
            font-size: 14px;
            margin: 15px 0;
            list-style: none;
        }

        li a {
            float: right;
            color: brown;
        }

        table {
            width: 500px;
            margin: 30px auto;
            border-collapse: collapse;
            text-align: center;
        }

        thead tr {
            height: 40px;
            background-color: #ccc;
        }
    </style>
</head>

<body>
    <table cellspacing="0">
        <thead>
            <tr>
                <th>姓名</th>
                <th>科目</th>
                <th>成绩</th>
                <th>操作</th>
            </tr>
        </thead>
        <tbody>
        </tbody>
    </table>
    <textarea name="" id=""></textarea>
    <button>发布</button>
    <ul>
    </ul>


    <script>
        var datas = [{
            name: '一名字',
            subject: '科目一',
            score: 88,
        }, {
            name: '两名字',
            subject: '科目二',
            score: 59,
        }, {
            name: '三名字',
            subject: '科目三',
            score: 100,
        }]
        /* 根据数组的长度生成行数 */
        var tbody = document.querySelector('tbody');
        for (i = 0; i < datas.length; i++) {/* 外面的for循环遍历行 */
            var tr = document.createElement('tr');
            tbody.appendChild(tr);
            /* 根据对象里属性的个数生成单元格，for循环对象遍历（var k in obj）列td */
            /* k得到属性名，obj[k]得到属性值，因此是datas[i][k] */
            for (var k in datas[i]) {
                var td = document.createElement('td');
                tr.appendChild(td);
                td.innerHTML = datas[i][k];
            }
            var td = document.createElement('td');
            td.innerHTML = '<a href="javascript:;">删除</a>';
            tr.appendChild(td);
        }
        var as = document.querySelectorAll('a');
        for (var i = 0; i < as.length; i++) {
            as[i].onclick = function () {
                /* 父.removeChild(子），子是tr，就是a的父级（td）的父级（tr） */
                tbody.removeChild(this.parentNode.parentNode);
            }
        }

        var text = document.querySelector('textarea')
        var btn = document.querySelector('button');
        var ul = document.querySelector('ul');
        btn.onclick = function () {
            if (text.value == '') {
                return false;
            } else {
                var li = document.createElement('li');
                ul.appendChild(li);
                li.innerHTML = text.value + "<a href='javascript:;'>删除</a>";/* javascript:;点击后没有#，也不跳转网站 */
                text.value = '';
                var aa = document.querySelectorAll('a');
                /* 把所有的a绑定事件 */
                for (i = 0; i < aa.length; i++) {
                    aa[i].onclick = function () {
                        ul.removeChild(this.parentNode);
                        /*要删除a所在的li，this(指aa)parentNode 
                        一开始写的是ul.children[i]，但是不行，多洗碟
                        大概因为是动态创建，点击了之后才有li，所以不能这么写
                          */
                    }
                }
            }
        }

    </script>
</body>

</html>